package com.ruoyi.safe.mapper;

import com.ruoyi.safe.domain.BizRectifyReview;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

/**
 * 复查--整改Mapper接口
 * 
 * @author ruoyi
 * @date 2023-11-22
 */
@Mapper
public interface BizRectifyReviewMapper
{
    /**
     * 查询复查--整改
     * 
     * @param id 复查--整改主键
     * @return 复查--整改
     */
    public BizRectifyReview selectBizRectifyReviewById(Long id);

    /**
     * 查询复查--整改列表
     * 
     * @param bizRectifyReview 复查--整改
     * @return 复查--整改集合
     */
    public List<BizRectifyReview> selectBizRectifyReviewList(BizRectifyReview bizRectifyReview);

    /**
     * 查询复查--整改列表，同时查询整改和复查
     *
     * @param bizRectifyReview 复查--整改
     * @return 复查--整改集合
     */
    public List<BizRectifyReview> selectBizRectifyReviewList2(BizRectifyReview bizRectifyReview);

    /**
     * 新增复查--整改
     * 
     * @param bizRectifyReview 复查--整改
     * @return 结果
     */
    public int insertBizRectifyReview(BizRectifyReview bizRectifyReview);

    /**
     * 修改复查--整改
     * 
     * @param bizRectifyReview 复查--整改
     * @return 结果
     */
    public int updateBizRectifyReview(BizRectifyReview bizRectifyReview);

    /**
     * 删除复查--整改
     * 
     * @param id 复查--整改主键
     * @return 结果
     */
    public int deleteBizRectifyReviewById(Long id);

    /**
     * 批量删除复查--整改
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBizRectifyReviewByIds(Long[] ids);

    /**
     * 查询 复查/整改 的数据
     * @param operatorType
     * @return
     */
    public List<BizRectifyReview> selectListByOperatorType(@Param("recordId") Long recordId, @Param("operatorType") String operatorType);

    /**
     * 根据隐患记录id查询操作人个数
     * @param id
     */
    public int selectCountByRecordId(Long id);

    /**
     * 根据隐患记录id集合查询复查整改数据
     * @param recordIds
     * @return
     */
    public List<BizRectifyReview> selectListByRecordIds(Set<Long> recordIds);

    /**
     * 查询操作记录数据
     * @param recordId
     * @return
     */
    List<BizRectifyReview> selectOperateList(Long recordId);
}
